﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>流程事件类</title>
    <meta charset="UTF-8" />
    <title>节点-事件</title>

    <link href="../../Scripts/easyUI145/themes/default/easyui.css" rel="stylesheet" />
    <script src="../../Scripts/easyUI/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script src="../../Scripts/easyUI/jquery.easyui.min.js" type="text/javascript"></script>
    <script src="../../Scripts/QueryString.js" type="text/javascript"></script>
    <script type="text/javascript" src="../../Scripts/bootstrap/js/jquery.min.js"></script>
    <script src="../../Scripts/QueryString.js" type="text/javascript"></script>
    <link href="../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
    <!-- 自己的系统风格统一. -->
    <link href="../../Style/skin/adminfont/iconfont.css" rel="stylesheet" />
    <link href="../../Style/skin/css/Default.css" rel="stylesheet" />
    <link href="../../Scripts/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
    <!-- 自己的系统风格统一end -->
    <!-- 引用通用的js文件. -->
    <script type="text/javascript" src="../../Scripts/config.js"></script>
    <script type="text/javascript" src="../../Comm/Gener.js"></script>
    <!--SQL编辑器-->
    <link href="../../Scripts/CodeMirror/lib/codemirror.css" rel="stylesheet" />
    <link href="../../Scripts/CodeMirror/addon/hint/show-hint.css" rel="stylesheet" />
    <script src="../../Scripts/CodeMirror/lib/codemirror.js"></script>
    <script src="../../Scripts/CodeMirror/addon/edit/matchbrackets.js"></script>
    <script src="../../Scripts/CodeMirror/mode/sql/sql.js"></script>
    <script src="../../Scripts/CodeMirror/addon/hint/show-hint.js"></script>
    <script src="../../Scripts/CodeMirror/addon/hint/sql-hint.js"></script>
    <script src="../Admin.js"></script>
    <script src="../../Scripts/LoadSql.js"></script>

    <script type="text/javascript">

        //页面启动函数.
        $(function () {

            $("#Msg").html("正在加载,请稍后......");

            //初始化groupID.
            var nodeID = GetQueryString("FK_Node");

            //绑定事件类型.
            GenerBindEnumKey("DDL_EventDoType", "EventDoType", "0");
            $("#DDL_EventDoType").trigger("change");

            var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_AttrNode");
            handler.AddUrlData();
            var data = handler.DoMethodReturnString("ActionDtl_Init");

            if (data.indexOf('err@') == 0) {
                alert(data);
                return;
            }

            // 业务单元
            var BuessUnits = JSON.parse(data);
            GenerBindDDL("DDL_Doc", BuessUnits, "No", "Name", "");

        });

        function GetDoType(doType) {

            var cfg = "@0=禁用@1=执行存储过程@2=执行SQL语句@3=执行URL@4=WebServices(未完成)@5=执行ddl文件的类与方法@6=EventBase类@7=业务单元";

            var cfgs = cfg.split('@');

            for (var i = 0; i < cfgs.length; i++) {
                var vss = cfgs[i];
                if (vss.indexOf('=') == -1)
                    continue;

                var vals = vss.split('=');

                if (vals[0] == doType)
                    return vals[1];
            }

            return doType + 'ss';
        }

        function Save() {

            var en = new Entity("BP.Sys.FrmEvent");
            en.CopyForm();
            en.FK_Node = GetQueryString("FK_Node");
            en.EventSource = 2;//节点事件

            //如果是业务单元.
            if (en.EventDoType == 7) {
                en.DoDoc = $("#DDL_Doc").val();
            } else {
                en.DoDoc = $("#TB_Doc").val();
            }


            if (en.DoDoc == "") {
                alert('设置执行内容.');
                return;
            }

            en.SetPKVal(en.FK_Event + Math.random());
            en.Insert();

            Back();

            //window.location.href = window.location.href;
            return;
        }

        function doChangeContent(o) {
            if ($(o).val() == "7") {
                $("#TB_Doc").hide();
                $("#DDL_Doc").show();
            } else {
                $("#TB_Doc").show();
                $("#DDL_Doc").hide();
            }

            if ($(o).val() == "8")
                $("#sp_webapi").show();
            else
                $("#sp_webapi").hide();
        }

        function Back() {
            var url = "Action.htm?FK_Node=" + GetQueryString("FK_Node");
            window.location.href = url;
        }

        function Help() {
            WinOpen('ActionHelp.htm');
        }
    </script>
</head>
<body>
    <div class="container-full">
        <div class="attrnode-bar-header">
            <span class="pull-right">

                <button id="Btn_Save" name="Btn_Save" value="保存" onclick="Save();">保存</button>
                <button id="Btn_Back" name="Button1" value="返回" onclick="Back();">返回</button>
                <button id="Btn_Help" name="Button1" value="帮助" onclick="Help();">帮助</button>

            </span>
            <strong>新增事件</strong>
        </div>
        <form id="cc">

            <div style="position:relative;">
                <table style="width: 100%;" id="Table2" class="table">
                    <tr>
                        <td>
                            事件类型
                        </td>
                        <td>
                            <select id="DDL_FK_Event" name="DDL_FK_Event">
                                <option value="WorkArrive">工作到达</option>
                                <option value="SendWhen" selected="selected">当节点发送前</option>
                                <option value="SendSuccess">节点发送成功时</option>
                                <option value="SendError">节点发送失败时</option>
                                <option value="ReturnBefore">当节点退回前</option>
                                <option value="ReturnAfter">当节点退回后</option>
                                <option value="UndoneBefore">当节点撤销发送前</option>
                                <option value="UndoneAfter">当节点撤销发送后</option>
                                <option value="WhenReadWork">工作打开后</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            执行内容类型
                        </td>
                        <td>
                            <select id="DDL_EventDoType" name="DDL_EventDoType" onchange="doChangeContent(this)">
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            执行内容<br />
                            支持ccbpm表达式
                        </td>
                        <td>
                            <textarea id="TB_Doc" name="TB_Doc" style="display: none; width: 98%;"></textarea>
                            <!-- 其它事件 -->
                            <select id="DDL_Doc" name="DDL_Doc" style="display: none;">
                            </select>
                            <!-- 业务单元 -->
                            <span id="sp_webapi" style="color:blue">调用事件时，无论成功与否，都不会影响流程正常运行，如果需要阻断流程执行，请自定义方法，比如抛出异常</span>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="1">
                            执行成功信息提示(可为空)
                        </td>
                        <td colspan="1">
                            <input type="text" id="MsgOK" name="MsgOK" />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="1">
                            执行失败时提示(可为空)
                        </td>
                        <td>
                            <input type="text" id="MsgError" name="MsgError" />
                        </td>
                    </tr>
                </table>

                <br />

                <fieldset>
                    <legend id="help"></legend>
                    <ul>
                        <li>执行的结果如果返回的err@ 系统就会认为您要抛出异常了.</li>
                        <li>返回其他的信息的时候系统就会提示出来.</li>

                        <li>执行的内容,支持ccbpm的表达式.比如: UPDATE XXX SET xxxx=@MyFiledName </li>

                    </ul>
                </fieldset>
            </div>

            </span>

        </form>

    </div>

        </form>

    </div>

</body>
</html>
